Skip to content

虚拟键码表 - VirtualKeyCodes

说明

下表列出 Windows 常用的 虚拟键码(Virtual-Key Code),供 KeyPressKeyDownKeyUp 等接口的 vk_code / vk 参数 查阅。

  • 十六进制:脚本中常写作 0x090x0D 等形式。
  • 十进制:与 0x 写法等价,便于在仅支持十进制的环境或调试输出中对照。
  • 部分键在不同键盘布局、输入法下 扫描码 不同,但 VK 常量名与数值 与下表一致。
  • 未列出的保留位、厂商扩展键以 Windows SDK(winuser.h) 与当前系统为准。

若接口或上层封装支持 字符串键名(如 "enter""f1"),其解析可参考本文 「KeyPress 字符串别名(KeyPressChar)」 一节;该表与下方 VK 常量表 数值一致,仅多一层 可读名称 → 数值 的映射。


鼠标与杂项(0x01–0x10)

Constant十六进制十进制说明
VK_LBUTTON0x011鼠标左键
VK_RBUTTON0x022鼠标右键
VK_CANCEL0x033Ctrl+Break / 控制中断(传统含义,依应用而定)
VK_MBUTTON0x044鼠标中键(三键鼠标)
VK_XBUTTON10x055鼠标侧键 1(X1)
VK_XBUTTON20x066鼠标侧键 2(X2)
0x077未定义
VK_BACK0x088退格键(Backspace)
VK_TAB0x099制表键(Tab)
0x0A0x0B10–11保留
VK_CLEAR0x0C12Clear(数字小键盘清除,依键盘而定)
VK_RETURN0x0D13回车键(Enter)
0x0E0x0F14–15未定义
VK_SHIFT0x1016Shift 换挡键

修饰键与状态(0x11–0x14)

Constant十六进制十进制说明
VK_CONTROL0x1117Ctrl 控制键
VK_MENU0x1218Alt 键(菜单键,勿与应用程序键混淆)
VK_PAUSE0x1319Pause / Break
VK_CAPITAL0x1420Caps Lock 大写锁定

输入法与日韩文相关(0x15–0x19)

Constant十六进制十进制说明
VK_KANA / VK_HANGUL0x1521假名 / 韩文模式(依布局与系统)
0x1622未定义
VK_JUNJA0x1723韩文 Junja 模式
VK_FINAL0x1824韩文 Final 模式
VK_HANJA / VK_KANJI0x1925汉字 / 日文汉字模式

退出与未定义(0x1A–0x1F)

Constant十六进制十进制说明
0x1A26未定义
VK_ESCAPE0x1B27Esc 退出 / 取消
VK_CONVERT0x1C28日文转换
VK_NONCONVERT0x1D29日文不转换
VK_ACCEPT0x1E30日文接受
VK_MODECHANGE0x1F31模式切换

空格与导航(0x20–0x2E)

Constant十六进制十进制说明
VK_SPACE0x2032空格键
VK_PRIOR0x2133Page Up 上一页
VK_NEXT0x2234Page Down 下一页
VK_END0x2335End 行尾 / 文档尾
VK_HOME0x2436Home 行首 / 文档首
VK_LEFT0x2537向左方向键
VK_UP0x2638向上方向键
VK_RIGHT0x2739向右方向键
VK_DOWN0x2840向下方向键
VK_SELECT0x2941Select
VK_PRINT0x2A42Print(旧式)
VK_EXECUTE0x2B43Execute
VK_SNAPSHOT0x2C44Print Screen 截屏
VK_INSERT0x2D45Insert 插入
VK_DELETE0x2E46Delete 删除

主键盘数字 0–9(0x30–0x39)

Constant十六进制十进制说明
VK_00x3048主键盘数字 0
VK_10x3149主键盘数字 1
VK_20x3250主键盘数字 2
VK_30x3351主键盘数字 3
VK_40x3452主键盘数字 4
VK_50x3553主键盘数字 5
VK_60x3654主键盘数字 6
VK_70x3755主键盘数字 7
VK_80x3856主键盘数字 8
VK_90x3957主键盘数字 9

主键盘字母 A–Z(0x41–0x5A)

下列每一行对应 主键盘区 该字母键的虚拟键码;实际输入 大写小写Caps LockShift 与当前焦点窗口的输入法共同决定,与 VK 数值本身 无关。

Constant十六进制十进制说明
VK_A0x4165字母键 A
VK_B0x4266字母键 B
VK_C0x4367字母键 C
VK_D0x4468字母键 D
VK_E0x4569字母键 E
VK_F0x4670字母键 F
VK_G0x4771字母键 G
VK_H0x4872字母键 H
VK_I0x4973字母键 I
VK_J0x4A74字母键 J
VK_K0x4B75字母键 K
VK_L0x4C76字母键 L
VK_M0x4D77字母键 M
VK_N0x4E78字母键 N
VK_O0x4F79字母键 O
VK_P0x5080字母键 P
VK_Q0x5181字母键 Q
VK_R0x5282字母键 R
VK_S0x5383字母键 S
VK_T0x5484字母键 T
VK_U0x5585字母键 U
VK_V0x5686字母键 V
VK_W0x5787字母键 W
VK_X0x5888字母键 X
VK_Y0x5989字母键 Y
VK_Z0x5A90字母键 Z

Windows 与上下文键(0x5B–0x5F)

Constant十六进制十进制说明
VK_LWIN0x5B91左 Windows 徽标键
VK_RWIN0x5C92右 Windows 徽标键
VK_APPS0x5D93应用程序键(上下文菜单键)
0x5E94保留
VK_SLEEP0x5F95睡眠(部分键盘)

小键盘(0x60–0x6F)

Constant十六进制十进制说明
VK_NUMPAD00x6096小键盘 0
VK_NUMPAD10x6197小键盘 1
VK_NUMPAD20x6298小键盘 2
VK_NUMPAD30x6399小键盘 3
VK_NUMPAD40x64100小键盘 4
VK_NUMPAD50x65101小键盘 5
VK_NUMPAD60x66102小键盘 6
VK_NUMPAD70x67103小键盘 7
VK_NUMPAD80x68104小键盘 8
VK_NUMPAD90x69105小键盘 9
VK_MULTIPLY0x6A106小键盘 *
VK_ADD0x6B107小键盘 +
VK_SEPARATOR0x6C108分隔符(依区域)
VK_SUBTRACT0x6D109小键盘 -
VK_DECIMAL0x6E110小键盘 .
VK_DIVIDE0x6F111小键盘 /

功能键 F1–F24(0x70–0x87)

Constant十六进制十进制说明
VK_F10x70112F1
VK_F20x71113F2
VK_F30x72114F3
VK_F40x73115F4
VK_F50x74116F5
VK_F60x75117F6
VK_F70x76118F7
VK_F80x77119F8
VK_F90x78120F9
VK_F100x79121F10
VK_F110x7A122F11
VK_F120x7B123F12
VK_F130x7C124F13
VK_F140x7D125F14
VK_F150x7E126F15
VK_F160x7F127F16
VK_F170x80128F17
VK_F180x81129F18
VK_F190x82130F19
VK_F200x83131F20
VK_F210x84132F21
VK_F220x85133F22
VK_F230x86134F23
VK_F240x87135F24

锁定与滚动(0x90–0x97)

Constant十六进制十进制说明
VK_NUMLOCK0x90144Num Lock 数字锁定
VK_SCROLL0x91145Scroll Lock 滚动锁定
0x920x96146–150OEM 特定
0x97151未赋值

左/右修饰键区分(0xA0–0xA5)

Constant十六进制十进制说明
VK_LSHIFT0xA0160左 Shift
VK_RSHIFT0xA1161右 Shift
VK_LCONTROL0xA2162左 Ctrl
VK_RCONTROL0xA3163右 Ctrl
VK_LMENU0xA4164左 Alt
VK_RMENU0xA5165右 Alt

浏览器与多媒体(节选,0xA6–0xB9)

Constant十六进制十进制说明
VK_BROWSER_BACK0xA6166浏览器后退
VK_BROWSER_FORWARD0xA7167浏览器前进
VK_BROWSER_REFRESH0xA8168刷新
VK_BROWSER_STOP0xA9169停止
VK_BROWSER_SEARCH0xAA170搜索
VK_BROWSER_FAVORITES0xAB171收藏
VK_BROWSER_HOME0xAC172主页
VK_VOLUME_MUTE0xAD173静音
VK_VOLUME_DOWN0xAE174音量减
VK_VOLUME_UP0xAF175音量加
VK_MEDIA_NEXT_TRACK0xB0176下一曲
VK_MEDIA_PREV_TRACK0xB1177上一曲
VK_MEDIA_STOP0xB2178停止播放
VK_MEDIA_PLAY_PAUSE0xB3179播放/暂停
VK_LAUNCH_MAIL0xB4180启动邮件
VK_LAUNCH_MEDIA_SELECT0xB5181媒体选择
VK_LAUNCH_APP10xB6182启动应用程序 1
VK_LAUNCH_APP20xB7183启动应用程序 2

OEM 与标点(节选,0xBA–0xE2)

不同键盘布局下 同一 VK 可能对应 不同字符,下表为常见美式布局含义。

Constant十六进制十进制说明
VK_OEM_10xBA186; :(美式)
VK_OEM_PLUS0xBB187= +
VK_OEM_COMMA0xBC188, <
VK_OEM_MINUS0xBD189- _
VK_OEM_PERIOD0xBE190. >
VK_OEM_20xBF191/ ?
VK_OEM_30xC0192反引号与波浪号(美式布局:` 与 ~)
VK_OEM_40xDB219左方括号与左花括号 [ {
VK_OEM_50xDC220反斜杠与竖线 \ 与 `
VK_OEM_60xDD221] }
VK_OEM_70xDE222' "
VK_OEM_80xDF223区域相关
0xE00xE2224–226OEM 特定

其它与保留

Constant十六进制十进制说明
VK_PACKET0xE7231用于 Unicode 输入包
0xE8232未定义
0xE90xF5233–245OEM 特定
VK_ATTN0xF6246Attn(注意)
VK_CRSEL0xF7247CrSel(当前选择)
VK_EXSEL0xF8248ExSel(扩展选择)
VK_EREOF0xF9249擦除至文件尾
VK_PLAY0xFA250Play(播放)
VK_ZOOM0xFB251Zoom(缩放)
VK_NONAME0xFC252保留
VK_PA10xFD253PA1(终端键)
VK_OEM_CLEAR0xFE254OEM Clear(清除)
0xFF255保留

KeyPress 字符串别名

下列映射与插件KeyPressChar 一致:键名为小写英文或符号字面量,值为 虚拟键码ASCII/Unicode 码点(与 KeyPress(instance, vk_code)vk_code 一致时可混用)。

说明

  • 命名键(如 backenter):映射到对应 VK_*
  • 单字符键(如 "0""9""a""z"):映射为 大写字母或数字的字符码(如 'A'=65),用于与 主键盘 可见字符一致的发送方式;若需区分左右修饰键、小键盘等,请改用 上表 VK 常量 或下表中 num* 等项。
  • numenter:与 enter 相同,均为 VK_RETURN0x0D,十进制 13);小键盘 Enter 与主键盘 Enter 在虚拟键码层面相同,区分依赖具体硬件/驱动(一般脚本层无需区分)。

常规键与修饰键

字符串键十六进制十进制说明
back0x088退格(Backspace)
tab0x099制表(Tab)
enter0x0D13回车(Enter / Return)
shift0x1016Shift(未区分左右,见上表 VK_LSHIFT/VK_RSHIFT
ctrl0x1117Ctrl(未区分左右)
alt0x1218Alt(VK_MENU,未区分左右)
cap0x1420Caps Lock
esc0x1B27Esc
space0x2032空格
pgup0x2133Page Up
pgdn0x2234Page Down
end0x2335End
home0x2436Home
left0x2537向左
up0x2638向上
right0x2739向右
down0x2840向下
print0x2A42Print(旧式)
delete0x2E46Delete
win0x5B91左 Windows 键(VK_LWIN
option0x5D93应用程序键 / 上下文菜单(VK_APPS

主键盘数字 09

字符串键十六进制十进制说明
00x3048数字 0(字符码,同 VK_0
10x3149数字 1
20x3250数字 2
30x3351数字 3
40x3452数字 4
50x3553数字 5
60x3654数字 6
70x3755数字 7
80x3856数字 8
90x3957数字 9

主键盘字母 az(映射为大写字符码)

字符串键十六进制十进制说明
a0x4165字母 A 的字符码(依 Caps/Shift 决定实际大小写)
b0x4266B
c0x4367C
d0x4468D
e0x4569E
f0x4670F
g0x4771G
h0x4872H
i0x4973I
j0x4A74J
k0x4B75K
l0x4C76L
m0x4D77M
n0x4E78N
o0x4F79O
p0x5080P
q0x5181Q
r0x5282R
s0x5383S
t0x5484T
u0x5585U
v0x5686V
w0x5787W
x0x5888X
y0x5989Y
z0x5A90Z

功能键与标点

字符串键十六进制十进制说明
=0xBB187VK_OEM_PLUS(美式布局上多为 = / +
f1f120x700x7B112–123F1–F12
;0xBA186VK_OEM_1
,0xBC188VK_OEM_COMMA
.0xBE190VK_OEM_PERIOD
/0xBF191VK_OEM_2
~0xC0192VK_OEM_3(物理键位依布局)
[0xDB219VK_OEM_4
\0xDC220VK_OEM_5
]0xDD221VK_OEM_6
'0xDE222VK_OEM_7

小键盘(NumPad)

字符串键十六进制十进制说明
num0num90x600x6996–105小键盘 0–9
num*0x6A106乘号
num+0x6B107加号
num-0x6D109减号
num.0x6E110小数点
num/0x6F111除号
numlock0x90144Num Lock
numenter0x0D13enter 相同(VK_RETURN

备注

  • KeyPress 使用 整数 vk_code 时,可直接采用本文 「十进制」「十六进制」 列,二者等价,例如回车:130x0D
  • 组合键(如 Ctrl+C)需分别对 修饰键字母键 调用 KeyDown / KeyUp,顺序与延时见各接口说明。
  • 若需输入 可见文本 而非固定 VK,可优先 KeyPressCharKeyPressStr
  • 若插件/脚本层支持 字符串键名 解析,请以上文 KeyPressChar 为准;实际是否暴露 以对应接口文档为准。